﻿using System;
using Wise.TimeWarrior.DTO;
using Wise.TimeWarrior.Interfaces;
using Wise.TimeWarrior.OSFunctionalitiesProxy;

namespace Wise.TimeWarrior.Business
{
    /// <summary>
    /// Service for presenting statistics data
    /// </summary>
    public interface IWorkingDaysStatisicsBusinessLogic : IDisposable, IBLSetup
    {
        IExprotData ExprotDataService { set; }
        /// <summary>
        /// <see cref="IDataStore"/>
        /// </summary>
        IDataStore DataStoreService { set; }
        /// <summary>
        /// <see cref="IConfiguration"/>
        /// </summary>
        IConfiguration Configuration { set; }
        /// <summary>
        /// <see cref="IWorkingDayKeeper"/>
        /// </summary>
        IWorkingDayKeeper WorkingDayKeeper { set; }
        /// <summary>
        /// <see cref="IDateTimeProvider"/>
        /// </summary>
        IDateTimeProvider DateTimeProvider { set; }
        /// <summary>
        /// Method for providing statistics functionality
        /// </summary>
        /// <returns>statistics business item</returns>
        BusinessItemDto GetStatistics();
       
        /// <summary>
        /// Method for providing statistics functionality
        /// </summary>
        /// <returns>statistics business item</returns>
        BusinessItemDto ExportStatistics();

    }
}
